package cn.jolyoulu.adminweb.entity.vo;


import lombok.Data;
import lombok.experimental.Accessors;
import cn.jolyoulu.cmnservice.entity.dto.TreeDTO;
import cn.jolyoulu.cmnservice.entity.po.SysMenu;

import java.util.Objects;

/**
 * @Author LuZhouJin
 * @Date 2023/3/16
 */
@Data
@Accessors(chain = true)
public class SysMenuVO extends TreeDTO<SysMenuVO> {

    /**
     * 菜单id
     */
    private String id;

    /**
     * 父级编号
     */
    private String parentId;

    /**
     * 菜单名称
     */
    private String menuName;

    /**
     * 是否最末级（0否 1是）
     */
    private Integer treeLeaf;

    /**
     * 菜单类型（1菜单 2权限）
     */
    private Integer menuType;

    /**
     * 菜单图标
     */
    private String icon;

    /**
     * 权限标识
     */
    private String permission;

    /**
     * 路由地址
     */
    private String path;

    /**
     * 组件路径
     */
    private String component;

    /**
     * 是否隐藏路由: 0否,1是
     */
    private Integer hidden;

    /**
     * 是否显示（0否 1是）
     */
    private Integer isShow;

    /**
     * 本级排序号（升序）
     */
    private Integer treeSort;

    public SysMenuVO(SysMenu sysMenu) {
        if (Objects.nonNull(sysMenu)){
            this.id = sysMenu.getId();
            this.parentId = sysMenu.getParentId();
            this.menuName = sysMenu.getMenuName();
            this.menuType = sysMenu.getMenuType();
            this.icon = sysMenu.getIcon();
            this.permission = sysMenu.getPermission();
            this.treeLeaf = sysMenu.getTreeLeaf();
            this.path = sysMenu.getPath();
            this.component = sysMenu.getComponent();
            this.hidden = sysMenu.getHidden();
            this.isShow = sysMenu.getIsShow();
            this.treeSort = sysMenu.getTreeSort();
        }
    }
}
